system() ফাংশন এবং তার ব্যবহার

Computer Programming - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) Utility Functions (ইউটিলিটি ফাংশনস) |
210
210

system() ফাংশন এবং তার ব্যবহার

সি প্রোগ্রামিংয়ে system() ফাংশনটি একটি বাইরের কমান্ড বা প্রোগ্রাম চালানোর জন্য ব্যবহৃত হয়। এটি stdlib.h হেডার ফাইলে সংজ্ঞায়িত এবং অপারেটিং সিস্টেমের শেলের মাধ্যমে কমান্ড চালানোর অনুমতি দেয়। system() ফাংশনটি সাধারণত প্রোগ্রামিংয়ে বাইরের কমান্ড বা স্ক্রিপ্ট চালানোর জন্য ব্যবহার করা হয়।

সিঙ্কট্যাক্স:

int system(const char *command);
  • command – যেকোনো শেল কমান্ড বা প্রোগ্রাম যা আপনি চালাতে চান।
  • ফাংশনটি সফলভাবে কমান্ড চালালে 0 রিটার্ন করে এবং যদি কোনো ত্রুটি ঘটে তবে এটি -1 রিটার্ন করে।

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    // শেল কমান্ড চালানো
    int return_value = system("ls");  // UNIX/Linux এর জন্য ফাইলের তালিকা দেখানো

    if (return_value == -1) {
        printf("Error executing the command.\n");
    }

    return 0;
}

এখানে system() ফাংশনটি ls কমান্ড চালিয়েছে (যা UNIX/Linux সিস্টেমে ব্যবহৃত হয়) এবং কমান্ডের আউটপুট কনসোলে প্রদর্শিত হবে।


system() ফাংশনের ব্যবহার

১. বাইরের শেল কমান্ড চালানো

system() ফাংশনটি ব্যবহার করে আপনি সিস্টেমের শেলে যেকোনো কমান্ড চালাতে পারেন, যেমন ফাইল পরিচালনা, ডিরেক্টরি তালিকা দেখা, প্রোগ্রাম চালানো ইত্যাদি।

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    // কমান্ড প্রম্পটের মাধ্যমে ফোল্ডারের ফাইল তালিকা বের করা
    system("dir");  // উইন্ডোজ সিস্টেমে
    // অথবা
    // system("ls");  // UNIX/Linux সিস্টেমে

    return 0;
}

এখানে system() ফাংশনটি dir (উইন্ডোজ) বা ls (UNIX/Linux) কমান্ড চালিয়েছে, যা সংশ্লিষ্ট সিস্টেমের ডিরেক্টরির ফাইল তালিকা দেখাবে।


২. একটি প্রোগ্রাম চালানো

system() ফাংশনটি বাইরের প্রোগ্রাম বা স্ক্রিপ্ট চালানোর জন্যও ব্যবহার করা যেতে পারে।

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    // একটি বাইরের প্রোগ্রাম চালানো
    system("python --version");  // পাইথন ভার্সন চেক করা

    return 0;
}

এখানে system() ফাংশনটি বাইরের Python প্রোগ্রাম চালিয়ে তার ভার্সন চেক করবে।


৩. অপারেটিং সিস্টেমের স্ক্রিপ্ট চালানো

system() ফাংশনটি শেল স্ক্রিপ্ট চালাতে ব্যবহার করা যেতে পারে, যা সাধারণত সিস্টেম প্রশাসন বা অন্যান্য অটোমেশন কাজের জন্য ব্যবহৃত হয়।

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    // শেল স্ক্রিপ্ট চালানো
    system("./backup.sh");  // Linux/macOS এ backup.sh স্ক্রিপ্ট চালানো

    return 0;
}

এখানে system() ফাংশনটি backup.sh শেল স্ক্রিপ্ট চালিয়েছে।


system() ফাংশনের রিটার্ন ভ্যালু

  • 0: কমান্ড সফলভাবে সম্পন্ন হয়েছে।
  • -1: কমান্ড চালানোর সময় কোনো ত্রুটি হয়েছে।

উদাহরণ:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int return_value;

    return_value = system("ls");  // কমান্ড চালানো

    if (return_value == -1) {
        printf("Error executing the command.\n");
    } else {
        printf("Command executed successfully.\n");
    }

    return 0;
}

এখানে system() ফাংশনের রিটার্ন ভ্যালু চেক করে এটি নিশ্চিত করা হয়েছে যে কমান্ডটি সফলভাবে চালানো হয়েছে নাকি কোনো সমস্যা ঘটেছে।


নিরাপত্তা সতর্কতা

  • system() ফাংশনটি বাইরের কমান্ড চালানোর জন্য ব্যবহৃত হয়, তাই এটি সতর্কতার সাথে ব্যবহার করা উচিত। বিশেষত যদি ব্যবহারকারী ইনপুট কমান্ড হিসেবে দেওয়ার মাধ্যমে বাইরের শেলের কমান্ড চালানোর সুযোগ থাকে (যেমন ওয়েব অ্যাপ্লিকেশন), তবে এটি কমান্ড ইনজেকশন আক্রমণের সুযোগ সৃষ্টি করতে পারে।
  • তাই যখন system() ব্যবহার করেন, তখন ইনপুট যাচাই করা এবং শেলের কমান্ডের নিরাপত্তা সম্পর্কে সচেতন থাকা গুরুত্বপূর্ণ।

সারসংক্ষেপ

ফাংশনকাজসিঙ্কট্যাক্স
system()বাইরের শেল কমান্ড বা প্রোগ্রাম চালায়int system(const char *command);

system() ফাংশনটি বাইরের কমান্ড বা প্রোগ্রাম চালানোর জন্য খুবই উপযোগী, তবে এটি নিরাপত্তা ঝুঁকির সৃষ্টি করতে পারে, তাই এটি ব্যবহার করার সময় সতর্ক থাকা উচিত।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion